<!DOCTYPE html>
<html>
<head>
    
<!-- Google Analytics -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-104674648-1', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->


    

    
<!-- Baidu Tongji -->
<script>var _hmt = _hmt || []</script>
<script async src="//hm.baidu.com/hm.js?d230cbd4c1f4abd065bc1ca0e61663da"></script>
<!-- End Baidu Tongji -->




    <meta charset="utf-8">
    
    <meta name="google-site-verification" content="x0NhT11Wdmfn9lsdbcQQOIhQHQKeNWATVfTj5rYZWXo">
    
    
    
    
    <title>几种常见窗函数的特性 | Zhuhao&#39;s Blog | I am the captain of my ship and the master of my fate.</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    
    <meta name="theme-color" content="#3F51B5">
    
    
    <meta name="keywords" content="dsp">
    <meta name="description" content="几种常见窗函数的特性 解决一下上一篇的遗留问题 上一篇谈了FIR滤波器的加窗是什么，但是自觉得还是有些地方没有说明白，就好比模拟加窗过程都没有讲明白。">
<meta name="keywords" content="dsp">
<meta property="og:type" content="article">
<meta property="og:title" content="几种常见窗函数的特性">
<meta property="og:url" content="http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/index.html">
<meta property="og:site_name" content="Zhuhao&#39;s Blog">
<meta property="og:description" content="几种常见窗函数的特性 解决一下上一篇的遗留问题 上一篇谈了FIR滤波器的加窗是什么，但是自觉得还是有些地方没有说明白，就好比模拟加窗过程都没有讲明白。">
<meta property="og:locale" content="zh-CN">
<meta property="og:image" content="http://greedyhao.cc/img/dsp/rectwin_rp.bmp">
<meta property="og:image" content="http://greedyhao.cc/img/dsp/triang_rp.bmp">
<meta property="og:image" content="http://greedyhao.cc/img/dsp/hann_rp.bmp">
<meta property="og:image" content="http://greedyhao.cc/img/dsp/hamm_rp.bmp">
<meta property="og:image" content="http://greedyhao.cc/img/dsp/black_rp.bmp">
<meta property="og:image" content="http://greedyhao.cc/img/dsp/kaiser_rp.bmp">
<meta property="og:image" content="http://greedyhao.cc/img/wechat_official_accounts.jpg">
<meta property="og:updated_time" content="2018-09-09T06:11:32.015Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="几种常见窗函数的特性">
<meta name="twitter:description" content="几种常见窗函数的特性 解决一下上一篇的遗留问题 上一篇谈了FIR滤波器的加窗是什么，但是自觉得还是有些地方没有说明白，就好比模拟加窗过程都没有讲明白。">
<meta name="twitter:image" content="http://greedyhao.cc/img/dsp/rectwin_rp.bmp">
    
        <link rel="alternate" type="application/atom+xml" title="Zhuhao&#39;s Blog" href="/atom.xml">
    
    <link rel="shortcut icon" href="/favicon.png">
    <link rel="stylesheet" href="//unpkg.com/hexo-theme-material-indigo@latest/css/style.css">
    <script>window.lazyScripts=[]</script>

    <!-- custom head -->
    

</head>

<body>
    <div id="loading" class="active"></div>

    <aside id="menu" class="hide" >
  <div class="inner flex-row-vertical">
    <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="menu-off">
        <i class="icon icon-lg icon-close"></i>
    </a>
    <div class="brand-wrap" style="background-image:url(/img/brand.jpg)">
      <div class="brand">
        <a href="/" class="avatar waves-effect waves-circle waves-light">
          <img src="/img/portrait.jpg">
        </a>
        <hgroup class="introduce">
          <h5 class="nickname">Greedyhao</h5>
          <a href="mailto:hao_kr@163.com" title="hao_kr@163.com" class="mail">hao_kr@163.com</a>
        </hgroup>
      </div>
    </div>
    <div class="scroll-wrap flex-col">
      <ul class="nav">
        
            <li class="waves-block waves-effect">
              <a href="/"  >
                <i class="icon icon-lg icon-home"></i>
                主页
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/archives"  >
                <i class="icon icon-lg icon-archives"></i>
                Archives
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/tags"  >
                <i class="icon icon-lg icon-tags"></i>
                Tags
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/categories"  >
                <i class="icon icon-lg icon-th-list"></i>
                Categories
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="https://github.com/greedyhao" target="_blank" >
                <i class="icon icon-lg icon-github"></i>
                Github
              </a>
            </li>
        
      </ul>
    </div>
  </div>
</aside>

    <main id="main">
        <header class="top-header" id="header">
    <div class="flex-row">
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light on" id="menu-toggle">
          <i class="icon icon-lg icon-navicon"></i>
        </a>
        <div class="flex-col header-title ellipsis">几种常见窗函数的特性</div>
        
        <div class="search-wrap" id="search-wrap">
            <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="back">
                <i class="icon icon-lg icon-chevron-left"></i>
            </a>
            <input type="text" id="key" class="search-input" autocomplete="off" placeholder="输入感兴趣的关键字">
            <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="search">
                <i class="icon icon-lg icon-search"></i>
            </a>
        </div>
        
        
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="menuShare">
            <i class="icon icon-lg icon-share-alt"></i>
        </a>
        
    </div>
</header>
<header class="content-header post-header">

    <div class="container fade-scale">
        <h1 class="title">几种常见窗函数的特性</h1>
        <h5 class="subtitle">
            
                <time datetime="2018-07-24T14:55:45.000Z" itemprop="datePublished" class="page-time">
  2018-07-24
</time>


	<ul class="article-category-list"><li class="article-category-list-item"><a class="article-category-list-link" href="/categories/工作/">工作</a></li></ul>

            
        </h5>
    </div>

    


</header>


<div class="container body-wrap">
    
    <aside class="post-widget">
        <nav class="post-toc-wrap post-toc-shrink" id="post-toc">
            <h4>TOC</h4>
            <ol class="post-toc"><li class="post-toc-item post-toc-level-1"><a class="post-toc-link" href="#几种常见窗函数的特性"><span class="post-toc-number">1.</span> <span class="post-toc-text">几种常见窗函数的特性</span></a><ol class="post-toc-child"><li class="post-toc-item post-toc-level-2"><a class="post-toc-link" href="#解决一下上一篇的遗留问题"><span class="post-toc-number">1.1.</span> <span class="post-toc-text">解决一下上一篇的遗留问题</span></a></li><li class="post-toc-item post-toc-level-2"><a class="post-toc-link" href="#几种常见窗函数"><span class="post-toc-number">1.2.</span> <span class="post-toc-text">几种常见窗函数</span></a><ol class="post-toc-child"><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#矩形窗"><span class="post-toc-number">1.2.1.</span> <span class="post-toc-text">矩形窗</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#三角形窗"><span class="post-toc-number">1.2.2.</span> <span class="post-toc-text">三角形窗</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#汉宁窗hanning"><span class="post-toc-number">1.2.3.</span> <span class="post-toc-text">汉宁窗（Hanning）</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#海明窗hamming"><span class="post-toc-number">1.2.4.</span> <span class="post-toc-text">海明窗（Hamming）</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#布莱克曼窗blackman"><span class="post-toc-number">1.2.5.</span> <span class="post-toc-text">布莱克曼窗（Blackman）</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#凯泽窗kaiser"><span class="post-toc-number">1.2.6.</span> <span class="post-toc-text">凯泽窗（Kaiser）</span></a></li></ol></li><li class="post-toc-item post-toc-level-2"><a class="post-toc-link" href="#如何选择窗函数"><span class="post-toc-number">1.3.</span> <span class="post-toc-text">如何选择窗函数</span></a></li></ol></li></ol>
        </nav>
    </aside>


<article id="post-工作-dsp-2018-07-24-几种常见窗函数的特性"
  class="post-article article-type-post fade" itemprop="blogPost">

    <div class="post-card">
        <h1 class="post-card-title">几种常见窗函数的特性</h1>
        <div class="post-meta">
            <time class="post-time" title="2018-07-24 22:55:45" datetime="2018-07-24T14:55:45.000Z"  itemprop="datePublished">2018-07-24</time>

            
	<ul class="article-category-list"><li class="article-category-list-item"><a class="article-category-list-link" href="/categories/工作/">工作</a></li></ul>



            
<span id="busuanzi_container_page_pv" title="文章总阅读量" style='display:none'>
    <i class="icon icon-eye icon-pr"></i><span id="busuanzi_value_page_pv"></span>
</span>


        </div>
        <div class="post-content" id="post-content" itemprop="postContent">
            <h1 id="几种常见窗函数的特性">几种常见窗函数的特性</h1>
<h2 id="解决一下上一篇的遗留问题">解决一下上一篇的遗留问题</h2>
<p>上一篇谈了FIR滤波器的加窗是什么，但是自觉得还是有些地方没有说明白，就好比模拟加窗过程都没有讲明白。</p>
<a id="more"></a>
<p>不过今天再看书时，又有所得，忽然明白了为什么模拟加窗过程出了问题，这是由于我之前对于数字滤波器的设计过程还很模糊。</p>
<p><strong>窗函数设计法的设计思路：</strong></p>
<ul>
<li>给定要求的理想频响<span class="math inline">\(H_d(e^{j\omega})\)</span>，一般为分段常数</li>
<li>转为时域设计，所以需要求出<span class="math inline">\(h_d(n)\)</span></li>
</ul>
<p><span class="math display">\[h_d(n) = IDTFT[H_d(e^{j\omega})]\]</span></p>
<ul>
<li>由于<span class="math inline">\(h_d(n)\)</span>是无限时长的，所以需要加窗截断为<span class="math inline">\(h(n)\)</span>，窗的长度为N</li>
</ul>
<blockquote>
<p>因为窗函数是在时域内截断，所以需要将理想滤波器转换到时域来处理。</p>
</blockquote>
<p><span class="math display">\[h(n) = h_d(n)\cdotp w(n), \quad 0\le n\le N-1\]</span></p>
<ul>
<li>求出加窗后的实际频响<span class="math inline">\(H(e^{j\omega})\)</span></li>
</ul>
<p><span class="math display">\[H(e^{j\omega}) = DTFT[h(n)]\]</span></p>
<ul>
<li>检查<span class="math inline">\(H(e^{j\omega})\)</span>是否满足<span class="math inline">\(H_d(e^{j\omega})\)</span>，不满足就重复3、4步骤</li>
</ul>
<p>我使用的<a href="http://greedyhao.cc/2018/07/23/%E5%B7%A5%E4%BD%9C-dsp-2018-07-23-FIR%E6%BB%A4%E6%B3%A2%E5%99%A8%E7%9A%84%E5%8A%A0%E7%AA%97%E6%98%AF%E4%BB%80%E4%B9%88/">子程序</a>是书上提供的，可以产生一个理想滤波器。</p>
<p>今天突然对这个程序有了新的理解。因为这个是子程序产生的时域的滤波器，为了能够在电脑中存储，本来就已经加了一个矩形窗，因此它的频域波形存在波纹；而我又加一个矩形窗，对这个已经加了矩形窗的滤波器当然是一点效果都没有咯。</p>
<h2 id="几种常见窗函数">几种常见窗函数</h2>
<p>回到今天的主题，今天探讨一下几种常见滤波器的特性和使用场景。</p>
<p>翻了很多遍书，发现对于滤波器的设计，主要关心的是<strong>过渡带宽(Transition bandwidth)</strong>、<strong>通带边沿衰减(Passband ripple)</strong>、<strong>阻带最小衰减(Minimum stopband attenuation)</strong>，而且大部分的参数都是用dB作单位。</p>
<p>使用dB做单位的好处有：</p>
<ul>
<li>数值变小。由于分贝是取对数值，所以能很方便的表示大的数量的变化</li>
<li>运算方便。放大器级联时，总的放大倍数是各级相乘。用分贝做单位时，总增益就是相加。</li>
<li>方便感知。人对强度（光照、声音）的感知，接近于于强度的对数的正比。</li>
</ul>
<p>至于为什么要这么多种窗呢？那是因为不同的窗特性不一样，比如最简单的矩形窗，虽然完成了截断工作，但是通带衰减大、阻带衰减小，导致能量的浪费；而之后的多种窗则或多或少的弥补了这些缺点。</p>
<h3 id="矩形窗">矩形窗</h3>
<p>矩形窗的定义为</p>
<p><span class="math display">\[
w(n) = \begin{cases}
1, &amp; 0\le n \le M-1 \\\
0, &amp; otherwise
\end{cases}
\]</span></p>
<p>频率响应函数为</p>
<p><span class="math display">\[
W(e^{j\omega}) = W(\omega)e^{j\theta(\omega)} =
\frac{\sin(\omega M /2)}{\sin(\omega /2)}e^{-j\frac{N-1}{2}\omega}
\]</span></p>
<p>因此</p>
<p><span class="math display">\[
W(\omega) = \frac{\sin(\omega M /2)}{\sin(\omega /2)}
\]</span></p>
<p>下面分析窗函数的主要参数：</p>
<figure class="image-bubble">
                <div class="img-lightbox">
                    <div class="overlay"></div>
                    <img src="/img/dsp/rectwin_rp.bmp" alt="" title="">
                </div>
                <div class="image-caption"></div>
            </figure>
<ul>
<li>幅度响应<span class="math inline">\(W_r(\omega)\)</span>第一个零点在<span class="math inline">\(\omega=\omega_1\)</span>，</li>
</ul>
<p><span class="math display">\[
\frac{\omega_1 M}{2} = \pi
~~
or
~~
\omega_1 = \frac{2\pi}{M}
\]</span></p>
<p>因此，主瓣宽度为为<span class="math inline">\(2\omega_1 = 4\pi /M\)</span>，因此传输带宽近似于<span class="math inline">\(4\pi /M\)</span></p>
<ul>
<li>第一个旁瓣大概在<span class="math inline">\(\omega=3\pi/M\)</span>的位置，因此它的幅值为</li>
</ul>
<p><span class="math display">\[
\left| W_r\left(\omega = \frac{3\pi}{M}\right)\right| = \left|\frac{\sin(3\pi /2)}{\sin(3\pi /2M)}\right| \simeq \frac{2M}{3\pi}
\]</span></p>
<p>对比主瓣的幅值，旁瓣幅值峰值为</p>
<p><span class="math display">\[
\frac{2}{3\pi} \approx 21.22\% \equiv 13 dB
\]</span></p>
<h3 id="三角形窗">三角形窗</h3>
<p>由于吉布斯现象，矩形窗存在一个0到1的越变；而三角形窗则提供了一个比较缓慢的变化，它的定义式为：</p>
<p><span class="math display">\[
w(n) =
\begin{cases}
\frac{2n}{M-1}, &amp; 0\le n \le\frac{M-1}{2} \\\
2-\frac{2n}{M-1}, &amp; \frac{M-1}{2}\le n\le M-1 \\\
0, &amp; otherwise
\end{cases}
\]</span></p>
<p>谱密度函数表达式如下，’≈’仅当<span class="math inline">\(M\gg 1\)</span>时成立</p>
<p><span class="math display">\[
W(\omega) \approx \frac{2}{M} \frac{\sin(M\omega/4)}{\sin(\omega/4)}
\]</span></p>
<p>主瓣宽度为<span class="math inline">\(8\pi /M\)</span>，旁瓣峰值衰减为25dB</p>
<figure class="image-bubble">
                <div class="img-lightbox">
                    <div class="overlay"></div>
                    <img src="/img/dsp/triang_rp.bmp" alt="" title="">
                </div>
                <div class="image-caption"></div>
            </figure>
<h3 id="汉宁窗hanning">汉宁窗（Hanning）</h3>
<p>这是一个升余弦窗，被定义为</p>
<p><span class="math display">\[
w(n) =
\begin{cases}
0.5\left[1-\cos\left(\frac{2\pi n}{M-1}\right)\right] &amp; 0\le n \le M-1 \\\
0 &amp; otherwise
\end{cases}
\]</span></p>
<p>主瓣宽度为<span class="math inline">\(8\pi /M\)</span>，旁瓣峰值衰减为31dB</p>
<figure class="image-bubble">
                <div class="img-lightbox">
                    <div class="overlay"></div>
                    <img src="/img/dsp/hann_rp.bmp" alt="" title="">
                </div>
                <div class="image-caption"></div>
            </figure>
<h3 id="海明窗hamming">海明窗（Hamming）</h3>
<p>海明窗和汉宁窗很像，不同的是它有一部分是不连续的，被定义为</p>
<p><span class="math display">\[
w(n)=
\begin{cases}
0.54 - 0.46\cos\left(\frac{2\pi n}{M-1}\right) &amp; 0\le n \le M-1 \\\
0 &amp; otherwise
\end{cases}
\]</span></p>
<p>主瓣宽度为<span class="math inline">\(8\pi /M\)</span>，旁瓣峰值衰减为41d</p>
<figure class="image-bubble">
                <div class="img-lightbox">
                    <div class="overlay"></div>
                    <img src="/img/dsp/hamm_rp.bmp" alt="" title="">
                </div>
                <div class="image-caption"></div>
            </figure>
<h3 id="布莱克曼窗blackman">布莱克曼窗（Blackman）</h3>
<p>这个窗函数和前两个窗函数很像，不过增加了升余弦的二次谐波分量，被定义为</p>
<p><span class="math display">\[
w(n) =
\begin{cases}
0.42 - 0.5\cos\left(\frac{2\pi n}{M-1}\right) + 0.08\cos\left(\frac{4\pi n}{M-1}\right) &amp; 0\le n \le M-1 \\\
0 &amp; otherwise
\end{cases}
\]</span></p>
<p>主瓣宽度为<span class="math inline">\(12\pi /M\)</span>，旁瓣峰值衰减为57dB</p>
<figure class="image-bubble">
                <div class="img-lightbox">
                    <div class="overlay"></div>
                    <img src="/img/dsp/black_rp.bmp" alt="" title="">
                </div>
                <div class="image-caption"></div>
            </figure>
<h3 id="凯泽窗kaiser">凯泽窗（Kaiser）</h3>
<p>这是一个非常有用的窗函数，它可以同时调整主瓣宽度与旁瓣宽度，这是其他窗函数不具备的，被定义为</p>
<p><span class="math display">\[
w(n) =
\frac{I_0\left[\beta \sqrt{1-\left(1-\frac{2n}{M-1}\right)^2}\right]}{I_0[\beta]}
\]</span></p>
<p><span class="math inline">\(I_0\)</span>是第一类零阶贝塞尔函数，<span class="math inline">\(\beta\)</span>是用来调整窗函数性能的参数</p>
<p>本人使用的<span class="math inline">\(\beta = 8.5\)</span></p>
<figure class="image-bubble">
                <div class="img-lightbox">
                    <div class="overlay"></div>
                    <img src="/img/dsp/kaiser_rp.bmp" alt="" title="">
                </div>
                <div class="image-caption"></div>
            </figure>
<h2 id="如何选择窗函数">如何选择窗函数</h2>
<p>选择窗函数可以参考前文中的窗函数设计法</p>
<p>先确定自己的需求，然后根据窗函数的极限性能，做出选择，最后再验证这个窗函数是否符合需求</p>
<hr>
<p>本文中的代码已上传<a href="https://github.com/greedyhao/DSP/tree/master/windowing" target="_blank" rel="noopener">本人的github</a></p>
<hr>
<p>参考书籍：</p>
<ul>
<li>_DigitalSignalProcessingUsingMatlabv4.0_JohnG.Proakis</li>
<li>《数字信号处理教程》程佩青</li>
</ul>
<hr>
<figure class="image-bubble">
                <div class="img-lightbox">
                    <div class="overlay"></div>
                    <img src="/img/wechat_official_accounts.jpg" alt="" title="">
                </div>
                <div class="image-caption"></div>
            </figure>

        </div>

        <blockquote class="post-copyright">
    
    <div class="content">
        
<span class="post-time">
    最后更新时间：<time datetime="2018-09-09T06:11:32.015Z" itemprop="dateUpdated">2018-09-09 14:11:32</time>
</span><br>


        
        下方的留言框比较调皮，有时候故意不出来，而且还是滚刀肉，实在拿他没办法，所以如果等得不爽可以直接去<a href="https://github.com/greedyhao/greedyhao.github.io/issues" target="_blank" rel="external">issues</a>给我留言
        
    </div>
    
    <footer>
        <a href="http://greedyhao.cc">
            <img src="/img/portrait.jpg" alt="Greedyhao">
            Greedyhao
        </a>
    </footer>
</blockquote>

        
<div class="page-reward">
    <a id="rewardBtn" href="javascript:;" class="page-reward-btn waves-effect waves-circle waves-light">赏</a>
</div>



        <div class="post-footer">
            
	<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/dsp/">dsp</a></li></ul>


            
<div class="page-share-wrap">
    

<div class="page-share" id="pageShare">
    <ul class="reset share-icons">
      <li>
        <a class="weibo share-sns" target="_blank" href="http://service.weibo.com/share/share.php?url=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/&title=《几种常见窗函数的特性》 — Zhuhao's Blog&pic=http://greedyhao.cc/img/portrait.jpg" data-title="微博">
          <i class="icon icon-weibo"></i>
        </a>
      </li>
      <li>
        <a class="weixin share-sns wxFab" href="javascript:;" data-title="微信">
          <i class="icon icon-weixin"></i>
        </a>
      </li>
      <li>
        <a class="qq share-sns" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/&title=《几种常见窗函数的特性》 — Zhuhao's Blog&source=几种常见窗函数的特性
解决一下上一篇的遗留问题
上一篇谈了FIR滤波器的加窗是什么，但是自觉得还是有些地方没有说明白，就好比模拟加窗过程都没有讲明白。" data-title=" QQ">
          <i class="icon icon-qq"></i>
        </a>
      </li>
      <li>
        <a class="facebook share-sns" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/" data-title=" Facebook">
          <i class="icon icon-facebook"></i>
        </a>
      </li>
      <li>
        <a class="twitter share-sns" target="_blank" href="https://twitter.com/intent/tweet?text=《几种常见窗函数的特性》 — Zhuhao's Blog&url=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/&via=http://greedyhao.cc" data-title=" Twitter">
          <i class="icon icon-twitter"></i>
        </a>
      </li>
      <li>
        <a class="google share-sns" target="_blank" href="https://plus.google.com/share?url=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/" data-title=" Google+">
          <i class="icon icon-google-plus"></i>
        </a>
      </li>
    </ul>
 </div>



    <a href="javascript:;" id="shareFab" class="page-share-fab waves-effect waves-circle">
        <i class="icon icon-share-alt icon-lg"></i>
    </a>
</div>



        </div>
    </div>

    
<nav class="post-nav flex-row flex-justify-between">
  
    <div class="waves-block waves-effect prev">
      <a href="/2018/07/31/工作-stm32-2018-07-31-LCD-TFT控制总结/" id="post-prev" class="post-nav-link">
        <div class="tips"><i class="icon icon-angle-left icon-lg icon-pr"></i> Prev</div>
        <h4 class="title">LCD-TFT控制总结</h4>
      </a>
    </div>
  

  
    <div class="waves-block waves-effect next">
      <a href="/2018/07/23/工作-dsp-2018-07-23-FIR滤波器的加窗是什么/" id="post-next" class="post-nav-link">
        <div class="tips">Next <i class="icon icon-angle-right icon-lg icon-pl"></i></div>
        <h4 class="title">FIR滤波器的加窗是什么</h4>
      </a>
    </div>
  
</nav>



    


<section class="comments" id="comments">
    <div id="disqus_thread"></div>
    <script>
    var disqus_shortname = 'greedyhao';
    lazyScripts.push('//' + disqus_shortname + '.disqus.com/embed.js')
    </script>
    <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</section>
















</article>

<div id="reward" class="page-modal reward-lay">
    <a class="close" href="javascript:;"><i class="icon icon-close"></i></a>
    <h3 class="reward-title">
        <i class="icon icon-quote-left"></i>
        谢谢打赏
        <i class="icon icon-quote-right"></i>
    </h3>
    <div class="reward-content">
        
        <div class="reward-code">
            <img id="rewardCode" src="/img/wechat.jpg" alt="打赏二维码">
        </div>
        
        <label class="reward-toggle">
            <input id="rewardToggle" type="checkbox" class="reward-toggle-check"
                data-wechat="/img/wechat.jpg" data-alipay="/img/alipay.jpg">
            <div class="reward-toggle-ctrol">
                <span class="reward-toggle-item wechat">微信</span>
                <span class="reward-toggle-label"></span>
                <span class="reward-toggle-item alipay">支付宝</span>
            </div>
        </label>
        
    </div>
</div>



</div>

        <footer class="footer">
    <div class="top">
        
<p>
    <span id="busuanzi_container_site_uv" style='display:none'>
        站点总访客数：<span id="busuanzi_value_site_uv"></span>
    </span>
    <span id="busuanzi_container_site_pv" style='display:none'>
        站点总访问量：<span id="busuanzi_value_site_pv"></span>
    </span>
</p>


        <p>
            
                <span><a href="/atom.xml" target="_blank" class="rss" title="rss"><i class="icon icon-lg icon-rss"></i></a></span>
            
            <span>博客内容遵循 <a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh">知识共享 署名 - 非商业性 - 相同方式共享 4.0 国际协议</a></span>
        </p>
    </div>
    <div class="bottom">
        <p><span>Greedyhao &copy; 2017 - 2018</span>
            <span>
                
                Power by <a href="http://hexo.io/" target="_blank">Hexo</a> Theme <a href="https://github.com/yscoder/hexo-theme-indigo" target="_blank">indigo</a>
            </span>
        </p>
    </div>
</footer>

    </main>
    <div class="mask" id="mask"></div>
<a href="javascript:;" id="gotop" class="waves-effect waves-circle waves-light"><span class="icon icon-lg icon-chevron-up"></span></a>



<div class="global-share" id="globalShare">
    <ul class="reset share-icons">
      <li>
        <a class="weibo share-sns" target="_blank" href="http://service.weibo.com/share/share.php?url=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/&title=《几种常见窗函数的特性》 — Zhuhao's Blog&pic=http://greedyhao.cc/img/portrait.jpg" data-title="微博">
          <i class="icon icon-weibo"></i>
        </a>
      </li>
      <li>
        <a class="weixin share-sns wxFab" href="javascript:;" data-title="微信">
          <i class="icon icon-weixin"></i>
        </a>
      </li>
      <li>
        <a class="qq share-sns" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/&title=《几种常见窗函数的特性》 — Zhuhao's Blog&source=几种常见窗函数的特性
解决一下上一篇的遗留问题
上一篇谈了FIR滤波器的加窗是什么，但是自觉得还是有些地方没有说明白，就好比模拟加窗过程都没有讲明白。" data-title=" QQ">
          <i class="icon icon-qq"></i>
        </a>
      </li>
      <li>
        <a class="facebook share-sns" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/" data-title=" Facebook">
          <i class="icon icon-facebook"></i>
        </a>
      </li>
      <li>
        <a class="twitter share-sns" target="_blank" href="https://twitter.com/intent/tweet?text=《几种常见窗函数的特性》 — Zhuhao's Blog&url=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/&via=http://greedyhao.cc" data-title=" Twitter">
          <i class="icon icon-twitter"></i>
        </a>
      </li>
      <li>
        <a class="google share-sns" target="_blank" href="https://plus.google.com/share?url=http://greedyhao.cc/2018/07/24/工作-dsp-2018-07-24-几种常见窗函数的特性/" data-title=" Google+">
          <i class="icon icon-google-plus"></i>
        </a>
      </li>
    </ul>
 </div>


<div class="page-modal wx-share" id="wxShare">
    <a class="close" href="javascript:;"><i class="icon icon-close"></i></a>
    <p>扫一扫，分享到微信</p>
    <img src="" alt="微信分享二维码">
</div>




    <script src="//cdn.bootcss.com/node-waves/0.7.4/waves.min.js"></script>
<script>
var BLOG = { ROOT: '/', SHARE: true, REWARD: true };


</script>

<script src="//unpkg.com/hexo-theme-material-indigo@latest/js/main.min.js"></script>


<div class="search-panel" id="search-panel">
    <ul class="search-result" id="search-result"></ul>
</div>
<template id="search-tpl">
<li class="item">
    <a href="{path}" class="waves-block waves-effect">
        <div class="title ellipsis" title="{title}">{title}</div>
        <div class="flex-row flex-middle">
            <div class="tags ellipsis">
                {tags}
            </div>
            <time class="flex-col time">{date}</time>
        </div>
    </a>
</li>
</template>

<script src="//unpkg.com/hexo-theme-material-indigo@latest/js/search.min.js" async></script>



<!-- mathjax config similar to math.stackexchange -->

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
    tex2jax: {
        inlineMath: [ ['$','$'], ["\\(","\\)"]  ],
        processEscapes: true,
        skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
    }
});

MathJax.Hub.Queue(function() {
    var all = MathJax.Hub.getAllJax(), i;
    for(i=0; i < all.length; i += 1) {
        all[i].SourceElement().parentNode.className += ' has-jax';
    }
});
</script>

<script async src="//cdn.bootcss.com/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML" async></script>




<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>



<script>
(function() {
    var OriginTitile = document.title, titleTime;
    document.addEventListener('visibilitychange', function() {
        if (document.hidden) {
            document.title = '再见';
            clearTimeout(titleTime);
        } else {
            document.title = '你好';
            titleTime = setTimeout(function() {
                document.title = OriginTitile;
            },2000);
        }
    });
})();
</script>



</body>
</html>
